#!/bin/bash

# 获取函数的返回值
# *严格来说：
# * Shell 函数中的 return 关键字用来表示函数的退出状态，而不是函数的返回值；
# * Shell 不像其它编程语言，没有专门处理返回值的关键字。
# 注意：Shell 函数返回值只能是整形数值，一般是用来表示函数执行成功与否，0表示成功，其他值表示失败。
# 因而用函数返回值来返回函数执行结果是不合适的。
# 如果要硬生生地return某个计算结果，比如一个字符串，往往会得到错误提示：“numeric argument required”。
# 如果一定要让函数返回一个或多个值，可以定义全局变量，
# *函数将计算结果赋给全局变量，然后脚本中其他地方通过访问全局变量，就可以获得那个函数“返回”的一个或多个执行结果了。
# * expr 除了可以实现数值运算，还可以实现数值或字符串比较、字符串匹配、字符串提取、字符串长度计算等功能
function add() {           # 得到两个数相加的和
    exprSum=`expr $1 + $2` # 使用 expr 实现数值运算
    return ${exprSum}      # 注意：只能返回数值【严格来说是返回成功失败的状态】
}
add 29 55                  # 函数
echo $?                    # 获取上一步（函数 fnSum ）结果【实际上是个状态值】